<?php
namespace Tbf\Bundle\YntAuthBundle\Model;
/**
 * 除了标注为可用的字段,其他字段都不一定有
 */
class User {
    /**
     * 可用
     * @var string
     */
    protected $mediaUserID;
    /**
     * 可用
     * @var Media
     */
    protected $media;
    /**
     * 可用
     * @var string
     */
    protected $screenName;
    protected $avatar;
    protected $largeAvatar;
    protected $iconAvatar;
    protected $createTime; //??WTF
    protected $friendsCount;
    protected $favouritesCount;
    protected $homepage;
    protected $email;
    protected $createdAt; //??WTF
    protected $verified;
    protected $description;
    protected $domain;  //??WTF
    protected $followersCount;
    protected $statusesCount;
    protected $personID;
    protected $name;
    protected $gender=0;
    protected $url;
    protected $profileImageUrl;
    protected $province;
    protected $city;
    protected $location;
    protected $extra_data;
    /**
     * @param mixed $city
     */
    public function setCity($city)
    {
        $this->city = $city;
    }

    /**
     * @return mixed
     */
    public function getCity()
    {
        return $this->city;
    }

    /**
     * @param mixed $gender
     */
    public function setGender($gender)
    {
        $this->gender = $gender;
    }

    /**
     * @return mixed
     */
    public function getGender()
    {
        return $this->gender;
    }

    /**
     * @param mixed $location
     */
    public function setLocation($location)
    {
        $this->location = $location;
    }

    /**
     * @return mixed
     */
    public function getLocation()
    {
        return $this->location;
    }

    /**
     * @param \Tbf\Bundle\YntAuthBundle\Model\Media $media
     */
    public function setMedia($media)
    {
        $this->media = $media;
    }

    /**
     * @return \Tbf\Bundle\YntAuthBundle\Model\Media
     */
    public function getMedia()
    {
        return $this->media;
    }


    /**
     * @param mixed $mediaUserID
     */
    public function setMediaUserID($mediaUserID)
    {
        $this->mediaUserID = $mediaUserID;
    }

    /**
     * @return mixed
     */
    public function getMediaUserID()
    {
        return $this->mediaUserID;
    }

    /**
     * @param mixed $name
     */
    public function setName($name)
    {
        $this->name = $name;
    }

    /**
     * @return mixed
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * @param mixed $profileImageUrl
     */
    public function setProfileImageUrl($profileImageUrl)
    {
        $this->profileImageUrl = $profileImageUrl;
    }

    /**
     * @return mixed
     */
    public function getProfileImageUrl()
    {
        return $this->profileImageUrl;
    }

    /**
     * @param mixed $province
     */
    public function setProvince($province)
    {
        $this->province = $province;
    }

    /**
     * @return mixed
     */
    public function getProvince()
    {
        return $this->province;
    }

    /**
     * @param mixed $screenName
     */
    public function setScreenName($screenName)
    {
        $this->screenName = $screenName;
    }

    /**
     * @return mixed
     */
    public function getScreenName()
    {
        return $this->screenName;
    }

    /**
     * @param mixed $url
     */
    public function setUrl($url)
    {
        $this->url = $url;
    }

    /**
     * @return mixed
     */
    public function getUrl()
    {
        return $this->url;
    }

    /**
     * @param mixed $extra_data
     */
    public function setExtraData($extra_data)
    {
        $this->extra_data = $extra_data;
    }

    /**
     * @return mixed
     */
    public function getExtraData()
    {
        return $this->extra_data;
    }

    /**
     * @param mixed $createTime
     */
    public function setCreateTime($createTime)
    {
        $this->createTime = $createTime;
    }

    /**
     * @return mixed
     */
    public function getCreateTime()
    {
        return $this->createTime;
    }

    /**
     * @param mixed $createdAt
     */
    public function setCreatedAt($createdAt)
    {
        $this->createdAt = $createdAt;
    }

    /**
     * @return mixed
     */
    public function getCreatedAt()
    {
        return $this->createdAt;
    }

    /**
     * @param mixed $description
     */
    public function setDescription($description)
    {
        $this->description = $description;
    }

    /**
     * @return mixed
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * @param mixed $domain
     */
    public function setDomain($domain)
    {
        $this->domain = $domain;
    }

    /**
     * @return mixed
     */
    public function getDomain()
    {
        return $this->domain;
    }

    /**
     * @param mixed $email
     */
    public function setEmail($email)
    {
        $this->email = $email;
    }

    /**
     * @return mixed
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * @param mixed $favouritesCount
     */
    public function setFavouritesCount($favouritesCount)
    {
        $this->favouritesCount = $favouritesCount;
    }

    /**
     * @return mixed
     */
    public function getFavouritesCount()
    {
        return $this->favouritesCount;
    }

    /**
     * @param mixed $followersCount
     */
    public function setFollowersCount($followersCount)
    {
        $this->followersCount = $followersCount;
    }

    /**
     * @return mixed
     */
    public function getFollowersCount()
    {
        return $this->followersCount;
    }

    /**
     * @param mixed $friendsCount
     */
    public function setFriendsCount($friendsCount)
    {
        $this->friendsCount = $friendsCount;
    }

    /**
     * @return mixed
     */
    public function getFriendsCount()
    {
        return $this->friendsCount;
    }

    /**
     * @param mixed $homepage
     */
    public function setHomepage($homepage)
    {
        $this->homepage = $homepage;
    }

    /**
     * @return mixed
     */
    public function getHomepage()
    {
        return $this->homepage;
    }

    /**
     * @param mixed $personID
     */
    public function setPersonID($personID)
    {
        $this->personID = $personID;
    }

    /**
     * @return mixed
     */
    public function getPersonID()
    {
        return $this->personID;
    }

    /**
     * @param mixed $statusesCount
     */
    public function setStatusesCount($statusesCount)
    {
        $this->statusesCount = $statusesCount;
    }

    /**
     * @return mixed
     */
    public function getStatusesCount()
    {
        return $this->statusesCount;
    }

    /**
     * @param mixed $verified
     */
    public function setVerified($verified)
    {
        $this->verified = $verified;
    }

    /**
     * @return mixed
     */
    public function getVerified()
    {
        return $this->verified;
    }

    /**
     * @param mixed $avatar
     */
    public function setAvatar($avatar)
    {
        $this->avatar = $avatar;
    }

    /**
     * @return mixed
     */
    public function getAvatar()
    {
        return $this->avatar;
    }

    /**
     * @param mixed $iconAvatar
     */
    public function setIconAvatar($iconAvatar)
    {
        $this->iconAvatar = $iconAvatar;
    }

    /**
     * @return mixed
     */
    public function getIconAvatar()
    {
        return $this->iconAvatar;
    }

    /**
     * @param mixed $largeAvatar
     */
    public function setLargeAvatar($largeAvatar)
    {
        $this->largeAvatar = $largeAvatar;
    }

    /**
     * @return mixed
     */
    public function getLargeAvatar()
    {
        return $this->largeAvatar;
    }
    public function getSource(){
        return $this->getMedia()->getMediaImp()->getName();
    }
}